Overview

BetterJPEG is a JPEG editor specifically designed to avoid recompression loss when editing and resaving JPEG images. BetterJPEG takes advantage of the fact that JPEG images consist of a number of small independent blocks and does not recompress blocks that don't have to be changed.

The list of lossless operations supported by BetterJPEG covers the essentials of digital photo processing, which, in combination with intuitive GUI and state-of-the-art image processing algorithms, makes it an indispensable tool for digital camera owners.

Main features:
  • Lossless transformations - rotation, flip
  • Lossless crop (free, fixed aspect, fixed size, predefined and user-defined aspects and sizes), composition guidelines (diagonals, golden mean, rule of thirds)
  • Highly customizable lossless date/EXIF info/text insertion (position, font, size, color, background, language, format, etc.).
  • Advanced lossless red eye removal (anti-aliasing, adjustable size, sensitivity, darkening).
  • Copy/Paste to external editor and back for local retouching without full recompression (lossless)
  • Batch and fast one-by-one image processing
  • Multi-level Undo/Redo
  • Metadata preservation
  • Compression optimization

Copyright © 2004 BetterJPEG Team.


User interface

The user interface of BetterJPEG consists of the following main elements: Title Bar, Main Menu, Main Toolbar, Action Toolbar, Browser Pane, Editor Pane, and Status Bar.

Crop

Title Bar displays application name, current file name, modification flag and the registration status.

Main Menu provides access to hierarchically organized structure of commands.

Main Toolbar contains shortcut buttons for main commands.

Action Toolbar contains shortcut buttons for commands specific to a currently selected mode.

Browser Pane displays contents of a selected folder, allows for image(s) selection and batch operations.

Editor Pane is used to view/edit currently selected image.

Status Bar displays program status, tooltips and image info.


Opening an image

Open command

1. Click Open icon Open on the main toolbar or select the File->Open... item in the main menu to get to the file open dialog. This command is also accessible from right-click context menu (in some modes) and via Ctrl+O shortcut.
2. Using the Open dialog, browse to the folder containing the image(s). You can preview images in the preview area of the dialog by selecting them with the mouse or keyboard. The preview area can be turned on/off by clicking Show image preview checkbox. It can also be helpful to turn on Thumbnails mode (accessible via View Menu icon). Alternatively, you can enter the image name in the File name fileld.
3. Double click on the file name or thumbnail corresponding to the image you want to open, or select the file and click the Open button.
Previous/Next commands

Once you opened one of the images in a folder, you can quickly open previous/next image in the folder by clicking Previous/Next buttons Previous Next on the main toolbar or by selecting Previous Image / Next Image in the File submenu of the main menu or in the context menu. You can also use the following hotkeys to browse images:

HotKey | Function
Home | First image in the folder.
PgUp | Previous image in the folder.
PgDn | Next image in the folder.
End | Last image in the folder.
Browser Pane

You can click on a thumbnail in the Browser pane to open a corresponding image. To browse to a different folder click Change Folder icon Open.
Drag and Drop

You can drag a file from Windows Explorer or other application capable of acting as a drag-and-drop source and drop it to BetterJPEG window to open.
Command line parameter

You can pass a file name as a command line parameter on program start:
e.g. betterjpeg c:\images\image1.jpg


Deleting an image

Delete command

To move the current image to the recycle bin click the Delete icon Delete on the main toolbar or select the File->Delete item in the main menu or Delete item in the context menu (in some modes). You can also use Del button as a shortcut for this command.

To permanently delete the image skipping the recycle bin press Shift+Del.


Panning and zooming

Panning

If the image does not fit into the View area in one or both dimensions, it can be panned by dragging or scrolling to see different areas of the image. To enter the drag mode, click Drag icon Drag on the main toolbar or select the Edit->Drag item in the main menu. This command is also accessible from right-click context menu (in some modes) and via D shortcut. You can temporarily switch to the drag mode from other modes by pressing and holding the space bar.

When in drag mode you can drag the image around by holding the left mouse button down and moving the mouse.

You can scroll the image using scrollbars and arrow keys.

Zooming

Use the following zoom commands by clicking the corresponding icons on the main toolbar or selecting them in the View menu or in the context (right-click) menu to change a scale at which the image is displayed:

Command | Hot Key | Action
Zoom In Zoom In | + | Enlarge the image one step
Zoom Out Zoom Out | - | Reduce the image one step
Zoom to Actual Size Zoom to Actual Size | / | Show the image
Zoom to Fit Zoom to Fit | * | Enlarge or reduce the image so that it fits the View area

To quickly zoom to one of the predefined zoom values, use the Zoom combo Zoom combo on the main toolbar.


Undo / Redo

Undo command

To undo the last operation on the current image click the Undo icon Undo on the main toolbar or select the Edit->Undo item in the main menu or Undo item in the context menu. You can use Ctrl+Z shortcut for this command.

 Redo command

To redo a previously undone operation click the Redo icon Redo on the main toolbar or select the Edit->Redo item in the main menu or Redo item in the context menu. You can use Ctrl+Y shortcut for this command.


Rotation and Flip

BetterJPEG can rotate and flip images without recompression loss by simply rearranging the JPEG coefficients.

Note: JPEG images consist of a number of independently encoded units called MCUs (Minimum Coded Unit) which are usually 8x8, 8x16 or 16x16 pixels in size. JPEG images can't start with incomplete MCU blocks. If one or both of the image dimensions are not multiple of the block size the corresponding dimension can get rounded off to the nearest block boundary (the image will be slightly trimmed off at one or two sides) during the lossless rotation or flip. Images with standard dimensions (such as the ones produced by a digital camera) usually don't have incomplete blocks and will not be trimmed.
Rotate commands

To rotate the current image 90° clockwise click the Rotate Right icon Rotate Right on the main toolbar or select the Edit->Rotate->Right item in the main menu or Rotate->Right item in the context menu. You can also use R button as a shortcut for this command.

To rotate the current image 90° counter-clockwise click the Rotate Left icon Rotate Left on the main toolbar or select the Edit->Rotate->Left item in the main menu or Rotate->Left item in the context menu. You can also use L button as a shortcut for this command.

To rotate the current image 180° select the Edit->Rotate->180° item in the main menu or Rotate->180° item in the context menu.
Flip commands

To flip the current image horizontally select the Edit->Flip->Horizontal item in the main menu or Flip->Horizontal item in the context menu. You can also use H button as a shortcut for this command.

To flip the current image vertically select the Edit->Flip->Vertical item in the main menu or Flip->Vertical item in the context menu. You can also use V button as a shortcut for this command.


Copy / Paste

Use Copy / Paste commands to exchange rectangular areas of the image with external applications or to copy a fragment of the image to another location within the same or different image.

This feature can come in handy in many situations, especially when you want to change some part of the image without recompressing the whole of it - insert a banner or copyright from a different source into a sequence of images, retouch a fragment in an external editor, etc.

You don't have to worry about the size of the area you copy out and back during external retouching - when the image gets saved, the final bitmap is compared to the original one, and the blocks that didn't change will not be recompressed. So, regardless of the size of fragments you exchange, there will be no recompression to unchanged areas of the image, provided they didn't change their original location (there is no shift).
Select mode

To select a rectangular area to be copied:
1. Enter the Select mode by clicking the Select icon Select on the main toolbar or select the Edit->Select item in the main menu or Select item in the context menu to enter the select mode. You can use the S key as a shortcut for this command.

2. Select an area by holding the primary mouse button down and dragging it. The selected area will be outlined by a dashed rectangular. Release the mouse button once you selected the desired area.

You can resize the selection by dragging a border or a corner with the primary mouse button down.

You can move the selection by dragging the inside of the selection with the primary mouse button down.

You can cancel the current selection by pressing Esc or clicking the Cancel icon Cancel on the Select toolbar or in the context (right-click) menu.

You can also cancel the current selection and start a new one by holding the primary mouse button down and dragging it starting from the outside of the current selection.

To automatically align the top left corner of the selection area with the nearest block border, check the Align Selection by Block checkbox on the Select toolbar.

Copy command

Double-click on the selection, or click Copy icon Copy on the main toolbar, on the Select toolbar, or select the Edit->Copy item in the main menu to copy the selected area to the clipboard. This command is also accessible from the right-click context menu (Copy now) and via Ctrl+C and Enter shortcuts.
Paste command

If there is an image in the clipboard you can paste it onto the current image by clicking the Paste icon Paste on the main toolbar or selecting the Edit->Paste item in the main menu or Paste item in the context menu. This command is also accessible via Ctrl+V shortcut. The content of the clipboard will be placed at the last selection position.

You can move the pasted fragment around by clicking at a desired position outside the fragment or by holding the primary mouse button inside the fragment and dragging.

To accept the paste, double-click on the fragment, or press Enter, or click Paste Now icon Paste Now on the Paste toolbar or in the context menu.

To cancel the paste, press Esc or click the Cancel icon Cancel on the Paste toolbar or in the context menu.


Crop

Cropping

Cropping is the process of removing parts of an image, reducing the visible area. As the result of the crop process, portions of the image outside the crop frame, defined by you, will be removed, leaving only the rectangular area inside the frame.

As JPEG images are composed of a number of independently encoded units typically 8x8, 8x16 or 16x16 pixels in size, it is possible to crop the image along the unit boundaries and save it later without recompression of the units, thus avoiding degradation.
Crop mode

To crop the image enter the Crop mode by clicking the Crop icon Crop on the main toolbar or select the Edit->Crop item in the main menu or Crop item in the context menu. You can use the C key as a shortcut for this command.

You can select a crop rule in the Crop Rule combobox Crop combo. There are basically three types of crop rules:
  • Free crop - the crop rectangular is not restricted by aspect or size.
  • Fixed aspect - width to height ratio of the crop rectangular is fixed, e.g. 4:3.
  • Fixed size - the crop rectangular width and height are fixed, e.g. 800x600 px
To manage crop rules (change, delete, add a new one) click Edit Crop Presets icon Edit Crop Presets on the Crop toolbar.

Select a crop area by holding the primary mouse button down and dragging it (for free and fixed aspect crops) or by clicking at the desired position (for fixed size crops). The selected area will be outlined by a dashed rectangular. Release the mouse button once you selected the desired area. If the Save Selected Block Position option is set on the Crop tab of the Preferences (File->Preferences->Crop), the crop area will appear at the last used position immediately on entering the Crop mode (for fixed aspect and fixed size crops).

Top and left of the crop area are always aligned on MCU blocks boundaries to avoid JPEG recompression.

You can resize the crop area (free and fixed aspect crop) by dragging a border or a corner with the primary mouse button down or by entering the exact width/height number in the textbox on the Crop toolbar.

You can swap the height and the width of the area selected by checking the Flip Aspect checkbox.

You can move the crop area by dragging the inside of the area with the primary mouse button down.

You can cancel the current selection by pressing Esc or clicking the Cancel icon Cancel on the Crop toolbar or in the context (right-click) menu.

You can also cancel the current selection and start a new one by holding the primary mouse button down and dragging it starting from the outside of the current selection (the Allow New Selection While Current Exists option should be set in Crop Preferences).

To accept the current selection and crop the image double-click on the selection, or click Crop Now icon Crop Now on the Crop toolbar or in the right-click context menu, or press Enter.

You can select between different Guidelines such as "Rule of Thirds" or "Golden Mean" that will show over the crop area during selection and will help you in achieving a better image composition.

To change crop preferences go to File->Preferences->Crop Pane.


Red eye removal

Red Eye mode

To remove the "red eye" effect enter the Red eye mode by clicking the Red eye icon Red eye on the main toolbar or select the Edit->Red Eye item in the main menu or Red Eye item in the context menu. You can use the E key as a shortcut for this command.

Select an area in an eye pupil where you want to remove the red:
1. Click in the center of the red area. The selected area will be outlined by a flashing circle.
2. Adjust the size of the circle so it matches the size of the red area or is just slightly bigger. You can use the Radius slider for fast and rough radius adjustment and the up-down (spin) control to fine-tune the radius or to enter the exact number. You can adjust the position of the selected area using the arrow keys or reselect by clicking in a different position.

You can select several pupils by holding Shift key while selecting.

You can adjust sensitivity of the red eye removal algorithm by moving the Sensitivity slider. Increasing sensitivity will generally increase the number of pixels within the area where the red will be removed.

You can adjust darkening of the resulting pupil color by moving the Darkening slider.

You can cancel the last selection by pressing Shift + Esc or clicking the Cancel last selection icon Cancel last selection on the Red eye toolbar or in the context (right-click) menu.

You can cancel all selected areas by pressing Esc or clicking the Cancel icon Cancel on the Red eye toolbar or in the context (right-click) menu.

To apply the red-eye removal press Enter or click the Apply icon Apply on the Red eye toolbar or in the right-click context menu. This action can also be performed by double-clicking the center of the selected area.


Putting EXIF info / custom text on the image

BetterJPEG allows you to stamp your images with metadata information contained in EXIF (comment, date, time, f-number, exposure time, ISO, focal length, etc.) and other data, such as file name or custom comment. Parts of the image outside the stamp area don't get recompressed thus causing no degradation to the image quality. Text insertion is done in Text mode.

Text mode

To enter the Text mode, click the Insert Text icon Insert Text on the main toolbar or select the Edit->Text item in the main menu or Text item in the context menu. You can use the T key as a shortcut for this command.

The preview of the text to be inserted will appear on the image outlined by a dashed rectangular.

BetterJPEG supports two independent text fields which can be individually formatted and positioned using different settings - Metadata and Custom Text. These fields are generally identical in capability to display different data. Everything you can do with one field you can do with another one. However, the Metadata field is specifically designed to ease the insertion of metadata parameters, while the Custom Text field is designed to ease the insertion of custom text that can change from one image to another.

To turn custom text insertion on/off, click on the checkbox next to the textbox on the Text toolbar.

You can change custom text by editing it in the textbox on the Text toolbar. Parameter masks are allowed (see Parameter Masks section below for more details).

You can cancel text insertion by pressing Esc or clicking the Cancel icon Cancel on the Text toolbar or in the context (right-click) menu.

To apply the text insertion press Enter or click the Insert Current Text icon Insert Current Text on the Text toolbar or in the right-click context menu.
Insert Text options dialog

Text parameters can be specified in the Insert Text options dialog.
To enter the Insert Text options dialog click the Edit Text icon Edit Text on the Text toolbar or in the context menu. Alternatively you can double-click on the text preview area on the image to get to the dialog.

To enable insertion of metadata field on the image check the Metadata checkbox on the Exif tab.
You can either select the predefined metadata parameters from the comboboxes or edit a template manually. Check the Edit checkbox to switch between selection of predefined values and manual editing of the template. When manually defining the template you can use any text and parameter masks (see the Parameter Masks section below for parameters description).

To enable insertion of custom text field on the image check the Custom Text checkbox on the Custom Text tab. This checkbox duplicates the checkbox on the Text toolbar.

You can change font face, size, style, color, opacity for both fields. Check Antialias on for smoother font appearance.

Select the position of the field on the image using Placement combobox and X Offset, Y Offset textboxes.

The Background option allows you to show a rectangular area behind the text. You can specify color, opacity and margin between the text and the area border.

If you want to keep proportion of the inserted text field on images of different size, check the Scale Relative to Image Size 1600x1200px checkbox. If this option is set then the text size, offset, and margin values correspond to the text dimensions and placement on the 1600x1200 image. On smaller and larger images the text dimensions and placement will be scaled proportionally to the image size.

Check the Preview text on the image checkbox to automatically refresh the text preview on the image when making changes to the text parameters.

 Format tab

Language - You can select a language for the text you insert.

Date - You can select a format in which date inserted on the image will appear. You can select a format from a list of predefined values (depends on the selected language) or construct a custom format string.

Use the following elements to construct a format string. If you use spaces to separate the elements in the format string, these spaces will appear in the same location in the output string. The letters must be in uppercase or lowercase as shown in the table (for example, "MM" not "mm"). Characters in the format string that are enclosed in single quotation marks will appear in the same location and unchanged in the output string.

Element | Meaning
d | Day of month as digits with no leading zero for single-digit days.
dd | Day of month as digits with leading zero for single-digit days.
ddd | Day of week as a three-letter abbreviation.
dddd | Day of week as its full name.
M | Month as digits with no leading zero for single-digit months.
MM | Month as digits with leading zero for single-digit months.
MMM | Month as a three-letter abbreviation.
MMMM | Month as its full name.
y | Year as last two digits, but with no leading zero for years less than 10.
yy | Year as last two digits, but with leading zero for years less than 10.
yyyy | Year represented by full four digits.

Time - You can select a format in which time inserted on the image will appear. You can select a format from a list of predefined values (depends on the selected language) or construct a custom format string.

Use the following elements to construct a format string. If you use spaces to separate the elements in the format string, these spaces will appear in the same location in the output string. The letters must be in uppercase or lowercase as shown (for example, "ss", not "SS"). Characters in the format string that are enclosed in single quotation marks will appear in the same location and unchanged in the output string.

Element | Meaning
h | Hours with no leading zero for single-digit hours; 12-hour clock.
hh | Hours with leading zero for single-digit hours; 12-hour clock.
H | Hours with no leading zero for single-digit hours; 24-hour clock.
HH | Hours with leading zero for single-digit hours; 24-hour clock.
m | Minutes with no leading zero for single-digit minutes.
mm | Minutes with leading zero for single-digit minutes.
s | Seconds with no leading zero for single-digit seconds.
ss | Seconds with leading zero for single-digit seconds.
t | One character time-marker string, such as A or P.
tt | Multicharacter time-marker string, such as AM or PM.
Parameter Masks

You can use parameter masks in text strings. They will be replaced with metadata or special values. The following parameter masks are available:

Mask | Parameter | Output example
%c | Comment | Fred's Dog
%C | Copyright sign | ©
%d | Date (in format defined in preferences) | May 04, 2004
%e | Exposure time | 1/61s
%f | F-number | F2.6
%i | ISO speed ratings | ISO100
%L | Focal length in 35mm film equivalent | 38mm
%l | Focal length | 7.9mm
%M | Make | NIKON
%m | Model | E4500
%t | Time (in format defined in preferences) | 12:52
%v | Source file name (the name with which the file was open) | DSCN0475.jpg
%w | Destination file name (the name under which the file was last saved) | dog2.jpg
%% | Percent sign | %


Saving the image

Save command

Click Save icon Save on the main toolbar or select the File->Save item in the main menu to save the changes you have made to the current file. This command is also accessible from right-click context menu (in some modes) and via Ctrl+S shortcut.
Save As command

1. Click Save As icon Save As on the main toolbar or select the File->Save As... item in the main menu or Save As... item in the context menu to save the current image with a different location or filename. You can use the Ctrl+Shift+S shortcut for this command.
2. Using the Save As dialog, browse to the folder where you want to save the image and enter the name under which you would like to save it into the File name field, or select the existing file if you wish to replace it with the current image.
3. Click the Save button to save the current image under the new name, or double click the existing file if you want to replace it .

You can change saving preferences in File->Preferences->Saving Pane.


Batch operations

BetterJPEG allows applying operations to multiple images at once. To do this:

1) Select images you want to apply an action to by clicking on the corresponding thumbnails in the browser pane. Hold Shift key down while clicking on thumbnails to select a continuous range of images, or hold Ctrl key down to add/remove images to the selection in a one-by-one fashion.

2) Apply action to selected images.

Note: Batch operations can only be undone for current image. In general it is recommended to work on copies of images and keep the originals untouched.


Preferences

To open the Preferences dialog click the Preferences icon Preferences on the main toolbar or select the File->Preferences item in the main menu or Preferences item in the context menu. You can also use Ctrl+P shortcut.
View tab

Background Color - Main window background color.

Floating Toolbars - When set, the mode toolbar is floating, otherwise, the mode toolbar is docked at the top of the main window, under the main toolbar.

Scale on open - Specifies at what scale an image is displayed after opening:
  • Keep Selected Scale - The scale does not change on opening an image.
  • Scale to Fit - The image is scaled to fit into the window.
  • Scale to Original Size - The image is displayed at actual size (100% zoom).
Sort Images by - Specifies in which order images are displayed when browsing using Previous and Next commands. The following options are available:
  • by File Name.
  • by Modification Time.
Show File Names - Defines whether to display file names under thumbnails in the browser pane.

Spacing - Sets spacing between browser pane thumbnails.

Width - Sets browser pane thumbnails width.

Height - Sets browser pane thumbnails height.
Crop tab

Save Selected Block Position - When set, the previously selected area will be initially selected for fixed-aspect and fixed-size crops.

Allow New Selection While Current Exists - When set, you can reselect a crop area without having to explicitly cancel the current selection.

Auto Flip Aspect According to Image Orientation - When set, the crop aspect will be automatically flipped on image opening to match the image orientation (horizontal or vertical).

Marquee (Running Ants Around Selection) - When set, the selected area is outlined by marquee.

Fade Area Outside Selection - When set, the image outside the selected area is darkened.

Refade on Drag - When set, the faded area outside the selection is updated during the selection dragging.
Saving tab

Retain Original File Time - When set, the file creation/modification time does not change on saving.

Save Comments - Set this option to preserve metadata comment markers, if they are present in the original file, set this option off if you don't want to preserve the metadata comments (smaller file size).

Save EXIF - Set this option to preserve the EXIF data contained in the original file, set this option off if you don't want to preserve the EXIF data (smaller file size).

Optimize Huffman Table - Set this option (recommended) for better compression (no additional loss).


Contacts

Web Site

Visit our site to find the latest information about BetterJPEG, updates, special offers, etc.:

www.betterjpeg.com

 E-mails

You can contact us using the following e-mails:

General Information
info@betterjpeg.com

Support
support@betterjpeg.com


Acknowledgments

BetterJPEG utilizes the Independent JPEG Group's JPEG library.

Many thanks to all the users who have contributed to BetterJPEG by proposing improvements and new features and those who have helped to find bugs.